package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;

import javax.swing.DefaultListModel;

import negocio.Especialidad;
import negocio.Sistema;

import ventanas.VentanaABMEspecialidad;
import ventanas.VentanaBusquedaEspecialidades;

public class ControladorBusquedaEspecialidades implements ActionListener, MouseListener {

	private VentanaBusquedaEspecialidades v;
	private Sistema s;
	
	public ControladorBusquedaEspecialidades(VentanaBusquedaEspecialidades ventana){
		this.v = ventana;
		this.s = Sistema.obtenerInstancia();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource()==v.getBtnBuscarEspecialidad()){
			String nombre = v.getTxtBuscarEspecialidad().getText();
			List<Especialidad> especialidades = s.buscarEspecialidades(nombre);
			DefaultListModel<Especialidad> modelo = (DefaultListModel<Especialidad>) v.getLista().getModel();
			modelo = new DefaultListModel<Especialidad>();
			
			for(Especialidad esp:especialidades){
					modelo.addElement(esp);
			}
			v.getLista().setModel(modelo);
			v.revalidate();
		}
		
		if(e.getSource()==v.getBtnC()){
			v.getTxtBuscarEspecialidad().setText("");
			v.getLista().setModel(new DefaultListModel<Especialidad>());
		}
		
		if(e.getSource()==v.getBtnNuevaEspecialidad()){
			VentanaABMEspecialidad vent = new VentanaABMEspecialidad(null);
			vent.getChckbxEditarEspecialidad().setVisible(false);
			vent.getBtnBajaEspecialidad().setEnabled(false);
		}

	}

	@Override
	public void mouseClicked(MouseEvent e) {
		
		if(e.getClickCount()==2){
			Especialidad esp = v.getLista().getSelectedValue();
			VentanaABMEspecialidad vent = new VentanaABMEspecialidad(esp);
			vent.getTxtEspecialidad().setEditable(false);
		}
		
	}

	@Override
	public void mousePressed(MouseEvent e) {}

	@Override
	public void mouseReleased(MouseEvent e) {}

	@Override
	public void mouseEntered(MouseEvent e) {}

	@Override
	public void mouseExited(MouseEvent e) {}

}
